package cn.stylefeng.guns.sys.modular.system.service;


import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo;
import cn.stylefeng.guns.sys.modular.system.model.params.SalaryChangeParam;
import cn.stylefeng.guns.sys.modular.system.model.result.AttendAuditBtyAreaResult;
import cn.stylefeng.roses.core.reqres.response.ResponseData;
import org.springframework.http.ResponseEntity;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * 工资变动主表服务层
 *
 * @author: tianzhen
 * @date: 2022/7/14 14:54
 */
public interface BtySalaryChangeService {


    /**
     * 获取所有的营运经理、督导、店铺列表
     *
     * @param:  salaryChangeParam 查询条件
     * @return:
     */
    List<AttendAuditBtyAreaResult> getOperationManagerList(SalaryChangeParam salaryChangeParam);

    /**
     * 获取所有的营运经理、督导、店铺列表
     *
     * @param:  salaryChangeParam 查询条件
     * @return:
     */
    List<AttendAuditBtyAreaResult> getSupervisorList(SalaryChangeParam salaryChangeParam);

    /**
     * 获取所有的营运经理、督导、店铺列表
     *
     * @param:  salaryChangeParam 查询条件
     * @return:
     */
    List<AttendAuditBtyAreaResult> getStoreList(SalaryChangeParam salaryChangeParam);

    /**
     * 获取店铺的员工
     *
     * @param:  salaryChangeParam 店铺名称
     * @return:
     */
    List<String> getEmpListByStoreName(SalaryChangeParam salaryChangeParam);

    /**
     * 查询（分页查询）
     *
     * @param salaryChangeParam 查询条件
     * @return PageResult<BtySalaryChange> 申请单集合
     */
    LayuiPageInfo getSalaryChangePage(SalaryChangeParam salaryChangeParam);

    /**
     * 工资变动申请单审核
     *
     * @param salaryChangeParam 审核参数
     * @return ResponseData 审核结果
     */
    ResponseData audit(SalaryChangeParam salaryChangeParam);

    /**
     * 导出excel表格
     *
     * @param:  salaryChangeParam 查询条件
     * @return: 二进制文件
     */
    ResponseEntity<byte[]> EmpSalaryChangeDataExport(HttpServletRequest request, HttpServletResponse response, SalaryChangeParam salaryChangeParam);
}
